Data stored on a hard disc can be vulnerable to errors. For example, data retrieval errors can result from disc media flaws, which prevent the data from being retrieved. Conventionally, on-disc redundancy schemes (such as cyclical redundancy check, and the like) protect all data equally well without any knowledge of the logical structure of the data being protected. Such schemes are typically concerned with protecting sectors on the storage medium without regard for the content of the sectors and without regard for how sectors may be related. However, to the end user, some data may be more important than other data. Moreover, it is important to protect the entire logical structure of the data (such as the file systems, metadata, and the like) or the entire data content of a storage device can be lost to the user. While losing one or more sectors of a user file may not be serious, losing the same number of sectors of metadata can cause the loss of an entire device, file system, or a significant number of files.
Some conventional systems utilize a redundant array of independent discs (RAID) to protect data. Typically, RAID systems store data redundantly on multiple discs, without regard for the boundaries or the content of any given data object (such as a file, a database, a record, and the like). If one sector of a disc fails, the data can be recovered and restored using the redundant data from another disc, thereby protecting all data equally. However, such systems do not typically protect against a second read failure. For example, if a RAID protected drive has failed and the subsystem encounters a read error in the process of re-building the data of the lost drive on a new unit, the error can result in loss of the entire file system. While failure to read or recover an individual file or some subset of the files might be tolerable, the loss of critical data (such as metadata), of critical objects, or of the entire file system could be catastrophic. Such secondary read failures cannot be overcome, without incurring significant cost and performance penalties. Moreover, RAID systems can be expensive, and the cost cannot always be justified.
Therefore, there is an ongoing need for systems and techniques that protect the logical data structures within storage systems. Embodiments of the present invention provide solutions to these and other problems, and offer other advantages over the prior art.